package com.fowo.api.model.tmp.jm.goods.order;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 独立站订单临时表 导入导出辅助模型 */
@Getter
@Setter
public class TmpJmGoodsOrderExcelPo {

  @Size(max = 255, message = "驳回理由长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "驳回理由")
  private String reasonForRejection;

  @Size(max = 50, message = "物流公司长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "物流公司")
  private String logisticsCompany;

  @Size(max = 50, message = "物流单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "物流单号")
  private String logisticsNo;

  @Size(max = 50, message = "用户留言长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "用户留言")
  private String message;

  @Size(max = 50, message = "订单id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "订单id")
  private String orderId;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "下单时间")
  private java.util.Date orderTime;

  @ExcelProperty(value = "实收款")
  private java.math.BigDecimal payment;

  @Size(max = 50, message = "支付方式长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "支付方式")
  private String paymentMethod;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "付款时间")
  private java.util.Date paymentTime;

  @Size(max = 50, message = "联系方式长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "联系方式")
  private String phone;

  @Size(max = 50, message = "优惠信息长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "优惠信息")
  private String preferential;

  @ExcelProperty(value = "单价")
  private java.math.BigDecimal price;

  @Size(max = 255, message = "审核驳回原因长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "审核驳回原因")
  private String processRejectReason;

  @ExcelProperty(value = "保护计划id")
  private Long protectionId;

  @ExcelProperty(value = "数量")
  private Long quantity;

  @Size(max = 255, message = "取消理由长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "取消理由")
  private String reasonForCancellation;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "收货时间")
  private java.util.Date receivingTime;

  @Size(max = 50, message = "退款备注长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退款备注")
  private String refundRemarks;

  @Size(max = 50, message = "备注长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "备注")
  private String remarks;

  @Size(max = 50, message = "回寄物流信息长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "回寄物流信息")
  private String returnLogisticsNo;

  @ExcelProperty(value = "方案id")
  private Long schemeId;

  @Size(max = 250, message = "地址长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "地址")
  private String shippingAddress;

  @Size(max = 250, message = "城市长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "城市")
  private String shippingCity;

  @Size(max = 250, message = "国家长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "国家")
  private String shippingCountry;

  @Size(max = 250, message = "州长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "州")
  private String shippingState;

  @Size(max = 250, message = "街道长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "街道")
  private String shippingStreet;

  @Size(max = 50, message = "邮编长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "邮编")
  private String shippingZipCode;

  @ExcelProperty(value = "规格id")
  private Long specificationsId;

  @Size(max = 20, message = "状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "状态")
  private String status;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "提交时间")
  private java.util.Date submissionTime;

  @ExcelProperty(value = "总价")
  private java.math.BigDecimal total;

  @Size(max = 50, message = "促销码长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "促销码")
  private String activityId;

  @Size(max = 200, message = "收货地址长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "收货地址")
  private String address;

  @Size(max = 20, message = "售后状态 用于取消售后订单状态还原长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "售后状态 用于取消售后订单状态还原")
  private String afterStatus;

  @Size(max = 20, message = "申请售后状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "申请售后状态")
  private String applyStatus;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "是否为后台创建订单")
  private String backendCreate;

  @Size(max = 255, message = "账单地址长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "账单地址")
  private String billAddress;

  @Size(max = 255, message = "用户取消备注长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "用户取消备注")
  private String cancelRemarks;

  @ExcelProperty(value = "调价金额")
  private java.math.BigDecimal change;

  @Size(max = 100, message = "礼品卡编码长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "礼品卡编码")
  private String code;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "完成时间")
  private java.util.Date completionTime;

  @Size(max = 50, message = "收货人长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "收货人")
  private String consignee;

  @ExcelProperty(value = "用户id")
  private Long consumerId;

  @ExcelProperty(value = "币种")
  private Long currencyExchangeRateId;

  @ExcelProperty(value = "副戒id")
  private Long accessoryRingId;

  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "发货时间")
  private java.util.Date deliveryTime;

  @ExcelProperty(value = "优惠价格")
  private java.math.BigDecimal discountMoney;

  @ExcelProperty(value = "积分")
  private Long earnPoints;

  @Size(max = 50, message = "邮箱长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "邮箱")
  private String email;

  @ExcelProperty(value = "运费")
  private java.math.BigDecimal freightPrice;

  @ExcelProperty(value = "礼品卡使用金额")
  private java.math.BigDecimal giftCardMoney;

  @ExcelProperty(value = "礼品包装id")
  private Long giftId;

  @Size(max = 500, message = "SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "SKU")
  private String goodsCode;

  @ExcelProperty(value = "商品id")
  private Long goodsId;

  @Size(max = 255, message = "商品名(导入数据)长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品名(导入数据)")
  private String goodsName;

  @Size(max = 255, message = "商品sku(导入数据)长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品sku(导入数据)")
  private String goodsSku;

  @Size(max = 50, message = "免费长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "免费")
  private String infoText;

  @ExcelProperty(value = "店铺id")
  private Long sid;
}
